// Just a test file - it's not a proper test yet.

#include <cppscript>
#include "fu"
#include <abc>

// This is a cppscript file

/* So is this */
/** Comment */
/* Comment * */
/* Comment **/
/***/
#include <xyz>
/****/

void fn();
void f2(var x, var y) { }
var f3();
void _2();

void f()
{
	{ } {{}}
	;
	// Hello
	12;
	0123;
	0xabcdef;
	'a';
	'\r';
	L'\012';
	"abc\n\"def";
	"\r\n\Xff";
	
	true?false:true;
	12?"ham":"cheese";

	var f;
	f(12)("hello")-- -+32.123e+98;;;

	12*13+"hello";

	var object;
	var x = object("foo").extend("a", 123)("b", 4563);

	try
	{
		if( 1 == 2 ) throw "hello";
		else throw 123;
	}
	catch(var fu)
	{
		throw;
	}

	switch(12) 
	{ 
	case 12: 
		break;
	}
}

var f2()
{
	var exit, b, writeln, a;
	finally( exit );
	foreach( a,b ) writeln(a);
}

var script_main(var args)
{
	var x=12, y=24; // , z=33;

	{
		var w1="w1", x;
	}
	{
		var w2;
	}
	1; 
	0Xcd; 
	'f';
	"hello\n" " \"goodbye\'";
	L"Wide" L"\tnarrow" L"abc";
	3.5;
	true;
	false;
	x;
	x+y;
	"123"+456+789;
	writeln("Hello world!");
	// return 0;
}

namespace fu
{
	using namespace a::b::c;

	var fu_fn(var x)
	{
		using bar::f;
		g::f();
	}

	enable_pickle(fu_fn);
}

